package cn.xiaohui;
import java.util.ArrayList;
import java.util.Scanner;
public class HomeWork3 {
		/*

		 * 在中这基础上用LinkdeList在写一次 为课后作业

		 */

		public class HomeWork2 {

			public void main(String[] args) {

				System.out.println("------欢迎来到点歌系统------");
				System.out.println("0.添加歌曲至列表");
				System.out.println("1.将歌曲置顶");
				System.out.println("2.将歌曲前移一位");
				System.out.println("3.退出");
				ArrayList lineUpList=new ArrayList();//创建歌曲列表
				addMusicList(lineUpList);
				while (true) {
					System.out.println("请输入要执行的操作序号：");
					Scanner scanner=new Scanner(System.in);
					int command=scanner.nextInt();//接收键盘输入的功能选项序号
					switch (command) {
					case 0://添加歌曲列表
						addMusic(lineUpList);

						break;
					case 1://歌曲置顶
						setTop(lineUpList);
						break;
					case 2://歌曲前移一位
						setBefore(lineUpList);
						break;
					case 3://退出

						exit();

						break;

					default:

						System.out.println("---------------");

						System.out.println("功能选择有误，请输入正确序号！");

						break;

					}

					System.out.println("当前歌曲列表为:"+lineUpList);

				}

			}

			//初始时添加歌曲

			private void addMusicList(ArrayList lineUpList) {

				lineUpList.add("稻香");

				lineUpList.add("等你下课");

				lineUpList.add("东方破");

				System.out.println("初始歌曲列表:"+lineUpList);

			}



			//执行添加歌曲名称

			private void addMusic(ArrayList lineUpList){

				System.out.println("请输入要添加的歌曲名称:");

				String musicName=new Scanner(System.in).next();//获取键盘输入的内容

				lineUpList.add(musicName);

				System.out.println("已添加歌曲:"+musicName);

			}

			//执行将歌曲置顶

			private void setTop(ArrayList lineUpList){
				System.out.println("请输入要置顶的歌曲名称:");
				String musicName=new Scanner(System.in).next();//获取键盘输入的内容
				int index=lineUpList.indexOf(musicName);//查找指定歌曲的位置，如果没有则返回-1

				if (index>0) {

					lineUpList.remove(musicName);//移除指定的歌曲

					lineUpList.add(0,musicName);//将指定的歌曲放到第一位

					System.out.println("已将"+musicName+"歌曲置顶");

				}else {

					System.out.println("当前歌曲没有输入的歌曲！");

				}

				

			}

			//执行将歌曲前移一位

			private void setBefore(ArrayList lineUpList){

				System.out.println("请输入要前移的歌曲名称:");

				String musicName=new Scanner(System.in).next();//获取键盘输入的内容

				int index=lineUpList.indexOf(musicName);//查找指定歌曲的位置，如果没有则返回-1

//				if (index>0) {

//					lineUpList.remove(musicName);//移除指定的歌曲

//					lineUpList.add(0,musicName);//将指定的歌曲放到第一位

//				}else {

//					System.out.println("当前歌曲没有输入的歌曲！");

//				}

				if (index>0) {

					lineUpList.remove(musicName);//移除指定的歌曲

					lineUpList.add(index-1,musicName);//将指定的歌曲放到第一位

					System.out.println("已将"+musicName+"歌曲前移一位");

				}else if (index==0) {

					System.out.println("当前歌曲已经置顶");

				}else{

					System.out.println("当前歌曲没有输入的歌曲！");

				}
			}

			private void exit(){

				System.out.println("-----------退出-------");

				System.out.println("当前系统已退出");

				System.exit(0);

			}

			

			

		}
	}


